// use std::fs;
//
// fn main() -> Result<(),Box<dyn std::error::Error>> {
//     let url = "https://www.rust-lang.org/";
//     let output = "rust.md";
//     println!("Fetching url {}", url);
//     let body = reqwest::blocking::get(url)?.text()?;
//     println!("Converting html to markdown");
//     let md = html2md::parse_html(&body);
//     fs::write(output, md.as_bytes())?;
//     println!("Converting markdown has been saved int {}", output);
//     Ok(())
// }


// fn apply(value: i32, f: fn(i32) -> i32) -> i32 {
//     f(value)
// }
//
// fn square(value: i32) -> i32 {
//     value * value
// }
//
// fn cube(value: i32) -> i32 {
//     value * value * value
// }

// mod func_demo;
//
// fn main() {
//     println!("apply {}", func_demo::apply(2, func_demo::square));
//     println!("square {}", func_demo::apply(2, func_demo::cube));
// }

// mod uint_demo;
//
// fn main() {
//     let is_pi = uint_demo::pi();
//     let is_upi = uint_demo::not_pi();
//     let is_upi1 = { uint_demo::pi(); };
//     println!("pi:{:?} ,upi: {:?} ,upi1:{:?}", is_pi, is_upi, is_upi1)
// }


// use crate::im_demo::{TopicId, UserId, Event};

// mod im_demo;
//
// fn main() {
//     let alice = im_demo::User { id: im_demo::UserId(1), name: "Alice".into(), gender: im_demo::Gender::F };
//     let bodo = im_demo::User { id: im_demo::UserId(2), name: "Bodo".into(), gender: im_demo::Gender::M };
//     let topic = im_demo::Topic { id: TopicId(1), name: "ME".into(), owner: alice.id };
//     let event1 = im_demo::Event::Join((bodo.id, topic.id));
//     let event2 = im_demo::Event::Join((alice.id, topic.id));
//     let event3 = im_demo::Event::Message((alice.id, topic.id, "Hi, Bodo".into()));
//     println!("event1:{:?}, event2:{:?}, event3:{:?}", event1, event2, event3);
// }

// mod fib_demo;
//
// fn main() {
//     let n = 10;
//     fib_demo::fib_loop(n);
//     fib_demo::fib_while(10);
//     fib_demo::fib_for(10);
// }

// fn main() {
//     let arr = [1, 2, 3];
//     assert_eq!(arr[..], [1, 2, 3]);
//     assert_eq!(arr[0..1], [1]);
// }

fn main() {
    // for arg in    std::env::args() {
    //     println!("{}", arg)
    // }
    let args = std::env::args().collect::<Vec<String>>();
    if let [_path,url,output] = args.as_slice() {
        println!("url:{},output:{}",url,output)fix: incorrect paging data.;
    } else {
        eprintln!("xxxx");
    }
}
